//
//  NSString+extension.h
//  XXProject
//
//  Created by 谢曦 on 2017/4/13.
//  Copyright © 2017年 xiexi. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSInteger, XXChangeAttributeType) {
    XXChangeAttributeTypeColor,
    XXChangeAttributeTypeFont
};

@interface NSString (extension)
//时间戳转时间 2016-11-20 12:20:30
+(NSString *)xx_dateTimeFromStamp:(NSString *)timeStamp;

//时间戳转时间 2016-11-20
+(NSString *)xx_dateFromTimeStamp:(NSString *)timeStamp;
//时间戳转时间 12:20:30
+(NSString *)xx_timeFromTimeStamp:(NSString *)timeStamp;

////时间转时间戳(date-->时间戳)
//+(NSString *)xx_stampFromDate:(NSDate *)time;
//时间转时间戳(str-->时间戳)
+(NSString *)xx_stampFromTimeStr:(NSString *)timeStr;

//Base64加密
+(NSString *)xx_Base64CodeWithStr:(NSString *)str;
//图文混排
+(NSAttributedString *)xx_attributedStringWithString:(NSString *)str andImageName:(NSString *)imageName atIndex:(NSInteger)index;
#pragma mark - 改变单个范围字体的大小和颜色
/**
 *  改变字体大小
 *
 *  @param type  改变的type
 *  @param range 范围(NSRange)
 *
 *  @return 转换后的富文本（NSMutableAttributedString）
 */
//- (NSMutableAttributedString *)xx_changeType:(XXChangeAttributeType )type
//                                 withRange:(NSRange)range;

- (NSMutableAttributedString *)xx_changeDict:( NSDictionary<NSString *, id> *)changeDict
                                   withRange:(NSRange)range;

#pragma mark - 改变多个范围内的字体和颜色

/**
 *  改变多段字符串为一种颜色
 *
 *  @param dicts  改变的字典数组（数组里面的字典对应改变的属性和值）
 *  @param ranges 范围数组:[NSValue valueWithRange:NSRange]
 *
 *  @return 转换后的富文本（NSMutableAttributedString）
 */
- (NSMutableAttributedString *)xx_changeDicts:(NSArray <NSDictionary <NSString *, id>* >*)dicts andRanges:(NSArray<NSValue *> *)ranges;



#pragma mark - 对特定字符进行改变
/**
 *  对相应的字符串进行改变
 *
 *  @param str   需要改变的字符串
 *  @param changeDict 改变的属性字典
 *
 *  @return 转换后的富文本（NSMutableAttributedString）
 */
- (NSMutableAttributedString *)xx_changeWithStr:(NSString *)str withDict:(NSDictionary<NSString *, id> *)changeDict;

#pragma mark - 给字符串添加中划线
/**
 *  添加中划线
 *
 *  @return 富文本
 */
- (NSMutableAttributedString *)addCenterLine;

#pragma mark - 给字符串添加下划线
/**
 *  添加下划线
 *
 *  @return 富文本
 */
- (NSMutableAttributedString *)addDownLine;

@end
